package org.example.mapper;


import org.example.pojo.DataStatisticsVo;
import org.example.pojo.JoinJobVo;
import org.example.pojo.OutJobVo;

import java.util.List;

/**
 * 数据统计
 *
 * @author Administrator
 * @date 2022/09/01
 */
public interface DataStatisticsMapper {
    /**
     * 查询部门数
     *
     * @return int
     */
    int selectDepartmentCount();

    /**
     * 查询员工数
     *
     * @return int
     */
    int selectEmployeeCount();

    /**
     * 查询角色数
     *
     * @return int
     */
    int selectRoleCount();

    /**
     * 查询管理员数
     *
     * @return int
     */
    int selectManagerCount();

    /**
     * 查询人才数
     *
     * @return int
     */
    int selectTalentsCount();

    /**
     * 选择人才统计
     *
     * @return {@link List}<{@link DataStatisticsVo}>
     */
    List<DataStatisticsVo> selectTalentsStatistics();

    /**
     * 选择部门员工数
     *
     * @return {@link List}
     */
    List<DataStatisticsVo> selectDepartmentEmployeeCount();

    /**
     * 查询员工组
     *
     * @return {@link List}<{@link DataStatisticsVo}>
     */
    List<DataStatisticsVo> selectEmployeeGroupBy();

    /**
     * 查询员工白名单
     *
     * @return int
     */
    int selectEmployeeWhiteList();

    /**
     *每月入职人数
     *
     * @return int
     */
    List<JoinJobVo> selectJoinJob();

    /**
     * 每月离职人数
     *
     * @return int
     */
    List<OutJobVo>  selectOutJob();

    /**
     * 员工性别
     *
     * @return {@link List}<{@link DataStatisticsVo}>
     */
    List<DataStatisticsVo> selectSex();

    /**
     * 查询在职状态
     *
     * @return {@link List}<{@link DataStatisticsVo}>
     */
    List<DataStatisticsVo> selectJobStatus();

    /**
     * 查询员工黑名单
     *
     * @return int
     */
    int selectEmployeeBlackList();

}
